<?php
/**
 *+------------------
 * Lflow
 *+------------------
 * Copyright (c) 2023~2030 gitee.com/liu_guan_qing All rights reserved.本版权不可删除，侵权必究
 *+------------------
 * Author: Mr.April(405784684@qq.com)
 *+------------------
 */
declare (strict_types=1);

namespace lflow\entity;

class Surrogate
{

    /**
     * 主键ID
     */
    private string $id;

    /**
     * 流程name
     */
    private string $process_name;

    /**
     * 授权人
     */
    private string $operator;

    /**
     * 代理人
     */
    private string $surrogate;

    /**
     * 操作时间
     */
    private string $odate;

    /**
     * 开始时间
     */
    private string $sdate;

    /**
     * 结束时间
     */
    private string $edate;

    /**
     * 状态
     */
    private int $state;

    public function getId(): string
    {
        return $this->id ?? '';
    }

    public function setId(string $id): void
    {
        $this->id = $id;
    }

    public function getProcessName(): string
    {
        return $this->process_name;
    }

    public function setProcessName(string $processName)
    {
        $this->process_name = $processName;
    }

    public function getOperator(): string
    {
        return $this->operato ?? '';
    }

    public function setOperator(string $operator): void
    {
        $this->operator = $operator;
    }

    public function getSurrogate(): string
    {
        return $this->surrogate ?? '';
    }

    public function setSurrogate(string $surrogate)
    {
        $this->surrogate = $surrogate;
    }

    public function getOdate(): string
    {
        return $this->odate;
    }

    public function setOdate(string $odate): void
    {
        $this->odate = $odate;
    }

    public function getSdate(): string
    {
        return $this->sdate;
    }

    public function setSdate(string $sdate): void
    {
        $this->sdate = $sdate;
    }

    public function getEdate(): string
    {
        return $this->edate ?? "";
    }

    public function setEdate(string $edate): void
    {
        $this->edate = $edate;
    }

    public function getState(): int
    {
        return $this->state ?? 1;
    }

    public function setState(int $state): void
    {
        $this->state = $state;
    }

    public function toString(): string
    {
        return json_encode(get_object_vars($this));
    }

    public function toArray(): array
    {
        return get_object_vars($this);
    }

}